home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d20
/
msgcpy11.arc
/
MSGCOPY.DOC
< prev
next >
Wrap
Text File
|
1991-10-13
|
8KB
|
182 lines
MSGCOPY v1.10
A utility for Opus v1.70 and Fido V12
By Frank Cox
FidoNet 1:140/53
This program is truly public domain. You can give it away, you can sell
it, you can hack it, you can do whatever your little heart desires. Also, this
program is not guaranteed to do anything other than take up space on your disk.
I have tested it here and it works for me but that doesn't necessarily mean that
it will work for you. Use it at your own risk.
SO WHAT DOES IT DO?
-------------------
MSGCOPY copies any unreceived messages that are to a user on the board into
the destination area and marks them as received in the origin area so that the
message won't be moved twice. It will add a "* NOTE: Reply to this message is
area # Title." where # is the area the message originated from and Title is the
title of the area to the top of the body of the message text.
Why do you want to do this? The users of my system like it because they
don't necessarily have to call in every single day and they won't miss messages
addressed to them that come through even the most active echo areas. I have a
read-only message area on my system called "Echomail Replies to Local Users".
MSGCOPY slams all unreceived echomail addressed to local users into this area.
I have O_RENUM (the Opus message renumber/deleter program by Steve Antonoff) set
to delete messages in this area that are either received or older than 45 days.
In this manner, even if a user goes away for a few weeks vacation or whatever,
all of the echomail addressed to him is still waiting on his return.
An additional benefit is that your mail waiting announcement program
doesn't have to read through all of the echo message areas when you use MSGCOPY
- just your local message areas and the reply area.
MSGCOPY will optionally read a text file containing names of users whose
messages you do not want to copy. For example, other sysops will likely receive
their echo mail on their own system - if they call your system, the don't want
to have to re-read the same messages again. MSGCOPY will ignore messages
addressed to users whose names are specified in the text file.
HOW DO YOU USE IT?
------------------
If you run Opus, this is the command line you use with MSGCOPY:
MSGCOPY -O [-uUSER.DAT] [-sSYSMSG.DAT] [-eEXCLUDE.LST] [target] [area] [area]
Explanation:
-O means run in Opus 1.70 mode
[-uUSER.DAT] is the path and name of the USER.DAT file
example -uC:\OPUS\MISC\USER.DAT
[-sSYSMSG.DAT] is the path and name of the SYSMSG.DAT file
example -sC:\OPUS\SYSMSG.DAT
[-eEXCLUDE.LST] is a list of names to exclude from the search
example -eC:\OPUS\MISC\EXCLUDE.LST
If you run Fido, this is the command line you use with MSGCOPY:
MSGCOPY -F [-uCALLER.SYS] [-sFIDO.SYS] [-eEXCLUDE.LST] [target] [area] [area]
Explanation:
-F means run in Fido V12 mode
[-uCALLER.SYS] is the path and name of the CALLER.SYS file
example -uC:\FIDO\MISC\CALLER.SYS
[-sFIDO.SYS] is the path and name of the FIDO.SYS file
example -sC:\FIDO\FIDO.SYS
[-eEXCLUDE.LST] is a list of names to exclude from the search
example -eC:\FIDO\MISC\EXCLUDE.LST
In all cases (both Opus and Fido mode), [target] is the number of the reply
holding area and [area] is a list of the areas to be scanned.
If -s or -u options are not specified, the current directory is scanned for
USER.DAT and/or SYSMSG.DAT if the program is in Opus mode, or for CALLER.SYS and
FIDO.SYS if in Fido mode. If no exclusion list is specified with the -e option,
all names in the USER.DAT or CALLER.SYS file will be included in the search.
You can specify as many [area]'s as you can fit onto the command line.
The Exclude.Lst file is a text file containing names of users whose echo
mail you do not want to copy into the target message area. It might look like
this:
Jules Verne
Jonathan Swift
Edgar Poe
Charles Dickens
Thomas Hardy
Walter Scott
If this exclusion list was specified, then MSGCOPY would ignore echo mail
messages addressed to any of these gentlemen.
It should also be noted that MSGCOPY is designed to work with echo mail
messages, not local messages. Due to the method used to read the messages, if
you use it to copy messages from a local message area, the "* NOTE: Reply to
this message in area #" line will be inserted in the wrong place, one character
too far into the body of the message.
EXAMPLES:
---------
MSGCOPY -O -EC:\Opusstuf\Exclude.Lst 2 4 5 6 7 8 10 25
This command line will operate in Opus mode and read an exclusion list in
the C:\Opusstuf directory, read USER.DAT and SYSMSG.DAT in the current
directory, put messages into area 2, and read through messages in areas 4, 5, 6,
7, 8, 10 and 25.
MSGCOPY -F -SE:\Stuff\FIDO.SYS -UE:\Stuff\CALLER.SYS 2 4 5 6 7 8 10 25
This command line would operate in Fido mode and read CALLER.SYS and
FIDO.SYS in the E:\Stuff directory, would not use an exclusion list, put
messages into area 2, and read through messages in areas 4, 5, 6, 7, 8, 10 and
25.
Errorlevels returned:
0 - No fatal errors encountered
1 - USER.DAT file not found
2 - SYSMSG.DAT file not found
3 - Target Message area not found
4 - Operating mode (-O or -F) not specified
Note that the error handling in this program is not exhaustive for two
reasons - the additional code would slow the program down a bit, and I was too
lazy to write the additional code anyway. In other words, if you run out of
disk space, specify a file that does exist but is in an unexpected format (such
as specifying a USER.DAT file that is really a SYSMSG.DAT file or running the
program in the wrong operating mode), or similar stuff, you may still get a
return errorlevel of 0. However, in these kinds of situations, you should
receive an error message of some sort on the screen.
ACKNOWLEDGMENTS
---------------
MSGCOPY is an implementation of an idea for Opus 1.03 originally by Derrick
Cedars which was developed further for both Opus 1.03 and Opus 1.10 by Simon
Giles. Actually, after seeing the initial program written by Derrick, I sort of
bugged Simon until he wrote a version that worked better. However, alas, Simon
is no longer in the nodelist. This made it too difficult for me to bug him for
yet another update of his program when Opus 1.70 was released. So I had to dust
off the compiler and write a new version myself.
This implementation of MSGCOPY was written completely from scratch.
Simon's implementation was written in another language which I don't know too
much about. So I just started again.
Bob Swift (1:140/24) asked me to update this program so it would also work
with Fido V12, which I did.
I would like to thank Bob for deciphering the structure of the Opus 1.70
SYSMSG.DAT file and Fido's FIDO.SYS and CALLER.SYS files. I would never have
succeeded in getting this program to work the way it does without him!
Thanks also to Roger Franz (1:100/380) for testing a version of this
program prior to the release of Opus 1.70.
COMMENTS, SUGGESTIONS, BUGS??
-----------------------------
Comments or questions can be directed to the author via netmail at the
above noted FidoNet address, or the old-fashioned way (pen on paper). My postal
address is
Frank Cox
P. O. Box 2694
Kindersley, Saskatchewan
Canada S0L 1S0
Enjoy!